feat: session work column enhancements — Files Changed editing + project-wide Preview with PDF and TeX support - #737
Closed
jeonghun-jj-lee wants to merge 9 commits into
Closed
Conversation
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: trueThanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
jeonghun-jj-lee
force-pushed
the
amico/issue-721-work-column-enhancements
branch
from
September 3, 2026 11:50
5a93f8f to
7eeb220
Compare
…rt (#725) - Add extension-side recursive directory scan (preview_file_tree.ts) with RENDERABLE_EXTENSIONS filter, hidden-dir/node_modules skip - Add preview-file-tree bridge message: extension pushes filtered file list on app-ready and on refresh request from webview - Add app-side state store (amicode-preview-file-tree.ts) with SolidJS signals for project files, project root, and optional environment - Wire bridge: chat_bridge.ts handles preview-file-tree-request via registered command; extension.ts pushPreviewFileTree on app-ready - Transform session-preview-tab.tsx: when project tree available, show FileTreeV2 in static mode with search/filter input; when bound to a Research Environment, show env files below a labeled divider with colored pill (same 8-color palette as sidebar); preserve session- touched .md flat list as no-project fallback - 14 unit tests for scan filter, 5 for state store, all green
…or parsing (#729) - Add tex_support.ts: detectTexEngine (latexmk > pdflatex > xelatex > lualatex detection chain), discoverMainFile (\documentclass scan), parseTexErrors (! errors + file:line:msg patterns), compileTeX (subprocess with AbortController cancellation) - Extend WorkspaceProjectEntry with tex? field (available, engine, mainFile) for bridge push enrichment - Wire TeX engine detection at extension startup (async, non-blocking) - Add tex-compile-request bridge handler + amicode.texCompile command: cancels in-flight compile, pushes status via tex-compile-status - 12 unit tests: engine detection shape, main file discovery (5 cases), error parsing (4 cases)
Merges all 6 slices: - #725: Project-wide file tree with search + environment support - #726: Renderer dispatch (markdown, PDF, images, CodeMirror) - #727: PDF rendering (pdfjs-dist, zoom, scroll preservation) - #728: CodeMirror 6 editor (line numbers, syntax highlighting, auto-save) - #729: TeX compilation pipeline (detection, Build button, error parsing) - #730: SyncTeX forward search (minimal parser + lookup) Closes #725, closes #726, closes #727, closes #728, closes #729, closes #730
jeonghun-jj-lee
force-pushed
the
amico/issue-721-work-column-enhancements
branch
from
September 8, 2026 21:36
e1b0c47 to
450751d
Compare
…wlists (#725/#729) The VS Code webview relay in chat_panel.ts has explicit allowlists for which bridge message kinds are forwarded between the extension and the iframe. The four new message kinds were missing, causing the extension's pushPreviewFileTree to be silently dropped by the relay — the app never received the file list, so hasProjectTree() stayed false and the legacy 'No markdown files' empty state showed instead of the project file tree. Added to iframe→extension (lane 1): preview-file-tree-request, tex-compile-request. Added to extension→iframe (lane 2): preview-file-tree, tex-compile-status. Both relay renderers (renderHtml + renderTransitionHtml) updated. 5 structural tests verifying each kind appears in both renderers.
pushPreviewFileTree required a research project (research-project.toml) in the VS Code workspace — dev workspaces like amicode itself got no file tree at all, falling back to the legacy session-touched .md list. Extract pickPreviewProject() into preview_file_tree.ts: prefers a research project when one exists, falls back to the first dev project otherwise. Environment resolution stays gated to research projects (dev projects never have a bound environment). The scanner already skips node_modules, .git, dist, build, and hidden dirs, so dev-repo scans are safe and bounded. 7 new tests: 5 unit tests for pickPreviewProject priority logic, 2 structural tests verifying extension.ts uses the new function.
Contributor
Author
|
Closing with #721. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #721
Session work column enhancements
Implementation of the 9-slice feature DAG for #721.
Dependency DAG (5 frontiers)
Phase 1 (complete)
pdfjs-distto opencode fork (v1.18.10-amicode.20)buildCollapsedTreeto sharedutils/collapsed-tree.tsZoomControlto sharedcomponents/zoom-control.tsxIn progress
Walking the DAG frontier by frontier...